from pathlib import Path
import pandas
import requests
import yaml
from pydantic import BaseModel
from gdi.connectors.gdimConnector import log_in
import json

from typing import Any, Optional, List, Dict, Tuple, Set, Union

current_dir: Any
config_file_path: Any
config: Any
token: Any

def get_monitor_name_title_map(user_token: str, host: Any = None) -> dict[str, MonitorMapping]:
    """Get the name title mapping of the monitoring data."""
    ...
def get_monitor_data(user_token: str, pid: int, group: str, monitor_type: str, host: Any = None) -> pd.DataFrame:
    """Get the monitor data from the skgl platform."""
    ...
def get_yesterday_data(user_token: str, pid: int, host: Any = None) -> tuple[pd.DataFrame, pd.DataFrame]:
    """
    Get monitor data and management data of yesterday.
    
    Returns
    -------
    tuple[pd.DataFrame, pd.DataFrame]: The monitor data and management data of yesterday.
    """
    ...

class FieldMapping(BaseModel):
    """The mapping of the field name and title."""
    name: str
    title: str
    unit: str

class TableMapping(BaseModel):
    """The mapping of the table name and title."""
    name: str
    title: str
    fields: list[FieldMapping]

class MonitorMapping(BaseModel):
    """The mapping of the monitor groups."""
    group_name: str
    group_title: str
    types: list[TableMapping]
